home *** CD-ROM | disk | FTP | other *** search
/ NeXT Education Software Sampler 1992 Fall / NeXT Education Software Sampler 1992 Fall.iso / Programming / Source / 2DLab / 2DLab.nib (.txt) < prev    next >
Encoding:
NeXT TypedStream Data  |  1992-01-19  |  32.0 KB  |  884 lines

  1. typedstream
  2. StreamTable
  3.     HashTable
  4. Object
  5. [20c]
  6. typedstream
  7. [1104c]
  8. typedstream
  9.     HashTable
  10. Object
  11. FirstResponder
  12. HeaderClass
  13. %%%%i@@
  14. firstnib
  15. checkSpelling:
  16. alignSelCenter:
  17.     unscript:
  18. pasteFont:
  19. runPageLayout:
  20. superscript:
  21. copyRuler:
  22.     copyFont:
  23. selectAll:
  24. pasteRuler:
  25. toggleRuler:
  26. showGuessPanel:
  27. alignSelLeft:
  28. paste:
  29. performClose:
  30. arrangeInFront:
  31. subscript:
  32. copy:
  33. alignSelRight:
  34. delete:
  35. orderFrontColorPanel:
  36. underline:
  37. performMiniaturize:
  38. TwoDView
  39. /usr/include/math.h
  40. viewnib
  41.     timeField
  42. optimalValueField
  43. bgColorWell
  44. statusText
  45. timeSlider
  46. lineWidthSlider
  47. lineWidthText
  48. optimalValueFormCell
  49. highColorWell
  50. optimizeButton
  51. fgColorWell
  52. numPointsForm
  53. close:
  54. saveEPS:
  55. appDidInit:
  56.     openData:
  57. animThenDisp:
  58.     saveData:
  59. setFgColorWell:
  60. timeValue:
  61. setBgColorWell:
  62. setHighColorWell:
  63. doOptimize:
  64.     saveTIFF:
  65. setAutoUpdate:
  66. setOperation:
  67. disp:
  68. lineWidthChanged:
  69. random:
  70. [31571c]
  71. typedstream
  72.     HashTable
  73. Object
  74. Sound
  75. [13720c].snd
  76. {tvqnu
  77. zfgkl
  78. riadbht
  79. }jej{
  80. ymfijkv}
  81. woomqn{}voqrz
  82. {onpnou
  83. xokfv
  84. ~ognt
  85. yxkkuir
  86. wv~y}wedflxz
  87. thwxw
  88. wgdhlrw
  89. }mkchlm
  90. qnkjku
  91. shvhr
  92. zmvx~
  93. x}~uzwvmit
  94. z}wu}}uwup
  95. qolvop
  96. xw~zz}r|}srv
  97. ~||y|ztx
  98. yunmolnqomx|w
  99. vokmy
  100. oims}{
  101. u~zrwzz
  102. yosnmkknnst}{|
  103. }xwux~z{
  104. ynmmqu{
  105. rujrqmuw}{
  106. ysyu|
  107. oqumtxsop
  108. }~zsuzzuswvzniry
  109. }wyzqz
  110. yxynotq||
  111. }um|pz
  112. yyx{~
  113. ~xzzw{v
  114. w~zztz
  115. qskhlpsijllqx|~vx
  116. xqvnuoq
  117. ~y}}vouoo
  118. sz{uwtyuvpkoq{
  119. x}qlvt|
  120. otsnxujjlllmq
  121. uust~
  122. rnzy~
  123. |up{uz
  124. ~}yzyqv~
  125. uiomqzu|tsolvu}}x
  126. |yvnmnondkoixr
  127. ~qqqzuy
  128. t{~wy}tmqoqtqu
  129. ~||zyostrurnvpox
  130. {utoouuv
  131. pnxowv{zxwnsxr
  132. xszouqnrl
  133. t}qp{|
  134. {nu|{
  135. {{un{
  136. znmjjiciss|xv
  137. ysv{}
  138. }zu{vs
  139. |xonslkknu}xo{
  140. xrmluxxyvuz
  141. zrvxz~v
  142. }yorjkmlnsrz{
  143. zt}ww|}
  144. }twyx~}~
  145. ~ys{zowzv{z{|~
  146. |ltvx~v}
  147. w}|ksso
  148. }~qr|}|ptxx
  149. sswu}
  150. yx{yxonst|wz~}}{
  151. }qwrtz
  152. u{vnnqrlosxzoikdhmjln
  153. ~zxy}xuz
  154. {ovqns|
  155. wxxqwyz
  156. ~|ttsy|
  157. {yu{|mt
  158. wqs}{{yx
  159. yvtmomrzovt
  160. |v{yvv
  161. slsqxzy{}}xuqntx~
  162. zy~x|
  163. }nzmx}ltxzxuywu}}{uq}osno
  164. }||qx
  165. zvvupwx{
  166. }vxoloptussyonyu}t~
  167. y~uw}w
  168. or|o|yy}{
  169. xxumsu|
  170. rvsmzzwunmsvsowrx~u
  171. x{vy|wz
  172. z~rv{q
  173. swvrow{u
  174. {txz{|tp
  175. }ryty
  176. oqsjsoosnwxuzwkknnnz{y
  177. vxomzspty~
  178. snsmu
  179. wommwooslifosw
  180. ymmlo~ou{}
  181. skonv{{
  182. }pxz||xsq
  183. mo{qyoy}u
  184. srum|uz
  185. {omvu
  186. z}}~|nwyy
  187. }}|tnrqsrnwx|umnqs~}v
  188. qln{|{~}
  189. wvunqwtx{}uw
  190. x|qkwvv
  191. yz~o|rtwjq
  192. }zytyoownnpoyulminroxz
  193. |z|or~
  194. vrpomkov
  195. |x}urox
  196. }yvv}us|
  197. zqy}vpos
  198. oplomgstz
  199. vxuroktqo{
  200. ~~|pw
  201. yr~y|wz||
  202. |srswkhnvzyos{xyw
  203. ~t~|{
  204. ~txtmux{
  205. wnriahqy
  206. uwvwtmvr}su
  207. z}ts|qsznurr{s
  208. zzomoo{uy
  209. }v~}|tjuusvuwyv}}w}~
  210. uyyklnqw}}mpnn|rp
  211. zu}}sox~
  212. rmzukimr}{}
  213. qrns|z
  214. |ztou{otvnqmoxrurxuvxx{w
  215. }onspy
  216. zzrsytwnwpq
  217. tw{x}om|y
  218. yyyy{w
  219. ~qow}
  220. vx}t~oky|~nk
  221. TVyoB=
  222. \DUaJG
  223. KFoF8
  224. @i^<G
  225. ?/Ipl
  226. \HNQG
  227. @?[K<i
  228. QLUP^XH^
  229. \LSJFQ
  230. P7:8C
  231. Upx_ONQm
  232. 9355Gr
  233. k96-/N
  234. TIBBe
  235. uR[te[
  236. NF:IO:G
  237. FJOQh
  238. yHF=<d
  239. BB8;YJy
  240. lRQMMKk
  241. kOMUg
  242. f?3=>Q
  243. hF?:H
  244. C9<5Ac
  245. YDD?IINf
  246. ^]ZETB?MP
  247. `KKSn
  248. mV_idc
  249. f>:B>R
  250. bLFDFM[b
  251. n]OIMCGS`s
  252. `UJDB>FZw
  253. K=;=ENr
  254. _IJEJo
  255. {kkbcXVSS_ahti|
  256. `SYf|
  257. uwkdfo
  258. cRTRR]o
  259. ZKGKMTx
  260. sZQYco
  261. ln]ROUh
  262. [NNMSe
  263. ZLHIT
  264. eZ_lml^WT_
  265. |vc]X`
  266. yvxoefr
  267. yia[WZ^dpw
  268. {gdd^^`deo
  269. gVRY]]ds
  270. }okea]cos
  271. mckz~p___^bll}
  272. u]TW^cgjoz
  273. tyviedg
  274. |pvty
  275. ~d\^am
  276. _UX[h
  277. rnkkvv
  278. qhfhomt
  279. s|~tunkt}
  280. ra[X^`el{
  281. {ifgbekv|
  282. sfhlq
  283. {o|wvl{
  284. ~hgqkq~
  285. zmonoknlk
  286. |ztwmijjpnmnijoxyw
  287. xommosz}
  288. lgjlnhp
  289. znuk}
  290. xliju
  291. uromz
  292. qc`_cglmn
  293. yvmxngihlpuyvw
  294. wyxxwv|{
  295. v{kfddilhm
  296. og~tq
  297. fux_x
  298. fjxwcn
  299. |_}htdixhogj
  300. ozzqvq
  301. fz~~{i|
  302. g}mmyl
  303. qvmzjsxi
  304. |~srvw|i
  305. zyw~~
  306. x~ty~w
  307. a}mowtv
  308. pqgwsu|p
  309. m|oqy{t
  310. o|{}qq
  311. |r~m|ol
  312. hornptzw{|w
  313. qqrhrgnyu
  314. oroyw
  315. owsnn{yv
  316. lonjnoowwim
  317. ysjlw
  318. wmijlwlr
  319. osvfntmq~
  320. {niff_ZXW\\Y^_mt
  321. oJ=FC><:E`mq
  322. ZNQMBDM]lt
  323. ]^eukK9;F<:;?[}x
  324. v^VLLTQR\n
  325. e_\_]c
  326. E9GF=;:O
  327. _[XKCFMQN\
  328. Y;8B=:>E
  329. hVjo`
  330. _Zj\e}u
  331. [?GNHICMq{
  332. xo\f\RX]dWU[
  333. xoZTXL<;FBEBCr
  334. vq[XVJENVNGBVbNPV
  335. ^]SThw
  336. xif^QPVZ
  337. WTy^OFI|l\_l
  338. m]ZYy
  339. mPJPN?AFNd\q
  340. ijcP[
  341. ]\]OHOZq
  342. XGAAIBFW
  343. wRKMPHMh
  344. kl{jXT\va\qq
  345. UIP\YQX
  346. [RMKMXq
  347. uieXKIOYVQt
  348. mooOCJVZ[b
  349. TLV^OJOw
  350. [Z]]]WZpmm
  351. u|`Z|
  352. iZZZu|k
  353. g^_XRRc
  354. g_hhh^]
  355. |_eum
  356. |f]_XY[_gc
  357. wd\kde__n
  358. {zdW{y{eiw
  359. XVXkidRn
  360. sl]dycbnov`^
  361. Zgvr~_hr
  362. vf^ztmn
  363. iqgu{j
  364. jQHGLQIBEU
  365. fn_G95;HH<>[
  366. D0.7<969N
  367. L/(->@1+8
  368. J% /_G*'A
  369. G(#/GA/.N
  370. kWD3-./3>f
  371. ?8:?7+*6
  372. M84<;-)5
  373. H63;6+1u
  374. t?13M
  375. G./>bF7?
  376. m6,2k
  377. A4Bz@("5
  378. ;3=C2#!3
  379. nJYT;16Kvhf
  380. 40?C.#)M
  381. G@M;*&,;E?Fn
  382. |9/.6-!#3
  383. B//8EVOP
  384. o5,4KV:.6k
  385. C.,=ZB+'?
  386. [:<MU:.3I
  387. L:>Ye9/9]
  388. D6=QP@<L
  389. O::I\LBX
  390. lLIYv[LL]
  391. hMKP\C;>NrVM\
  392. P?>L]NKY
  393. VDLkiKEX
  394. YLX^K=?Vnjk
  395. OHGIHCDMa
  396. m\agYV\_eg~
  397. rjyl\apnl
  398. ^DG[]ULZ
  399. p`[WSOKMVaki
  400. uTLOX\YY{
  401. ia`laQOWhwg\k
  402. oii_YY^]Yb
  403. ^Z_h_OIPbnq]l
  404. gONRUPOUs
  405. hYVUXRS_eky
  406. mfr{ob]daUU\o
  407. {{kylg
  408. {wm]\]_\V_z
  409. o^Z]ZVVZz
  410. whgeckjmnr
  411. reXRZ]^]ar
  412. ymjhdaf`^hh
  413. rmzlib_k
  414. rkkomvrx
  415. tknwsejvwsjlmq
  416. ummldjsq||
  417. vrxqootr~
  418. ||ymmihhjegx
  419. {w}yskmvropz
  420. |y{wns~
  421. kmrggcfc^gp|
  422. wx~onnvvkkkvyrt
  423. x{{{vor}
  424. ymlrjlkj
  425. nmnhknoikjmrw
  426. zvpqt{
  427. ynmz~
  428. ~wunkmolhkedleinfk
  429. |ytwpu
  430. zppz|njmn}
  431. |yoqr{sv
  432. ohkjlkkikrusnoz}
  433. xoxw{
  434. ~ntpkflmhrrv}z
  435. unumnnj{
  436. uvt}ulw
  437. kgjkfdgkmdmnq
  438. }~tqtytnpllstyox}s{s}ywoly
  439. ~{ynoxohkmnx~
  440. }xlln
  441. }noqoleiol
  442. v~ypn~~}
  443. wwrtqlmmyw
  444. h|utvjvqmomx{o
  445. rnunyrk|
  446. tinlnkn
  447. szxrljz
  448. {ztz}|{r
  449. wxuhoun
  450. ovv{nknntrv
  451. w~wsxqq{sy
  452. oo{onmh~{~
  453. njlsjcf{
  454. xz~yrjx
  455. jiktxtk{ws
  456. |ojknohnuo
  457. w~qmngllnoy
  458. okzqz
  459. }zptpzyn
  460. mjrjnmo
  461. ln{jodlrm{w
  462. h}tv|oo
  463. sdjxosjlx~wmq
  464. zqmu}ufqyv
  465. ~rmqkj
  466. ~olynx
  467. xvujvdnpi
  468. zdtfpo
  469. |plpo{dd|f
  470. wownxhoh
  471. {}wylnl
  472. jmogjfjxx
  473. |npzolbin{
  474. onqsrbiwr|n}
  475. w~qhiq}vhrujnhnowmui
  476. xluqs
  477. mponto{z
  478. mmypw
  479. w||zmv
  480. omvjwznt
  481. ohe|zwxh
  482. ny{tvjjmtywqqt|
  483. zrljrilplz
  484. p~}qzvowtm
  485. vyvsoz
  486. yykno|
  487. wrm|y
  488. w~zivm
  489. zyssomihpn
  490. snsrpnu
  491. jgsmxcl
  492. }omrx~yrrv
  493. }}syznstt
  494. o||xvnjlxtomx
  495. yukls
  496. yqorvuvo}|
  497. x{t}yql{}
  498. {xnit{z
  499. }hr~{}zs|}
  500. uoz{yt
  501. vxtz|uvvyu~yt|
  502. qpohiqrw~yz|
  503. zxykolgoln
  504. rrs~}mliq}w{
  505. yoxqvq~
  506. vuvmlx|
  507. zvqownu~v{{xwuvqz
  508. xnmjmiilnzstzw
  509. xsu{}
  510. z~}nu}
  511. ~t~yv
  512. ~}|wv|voqokjmjtw{
  513. |vlkxqzqw{w
  514. {ovsomihjnopv||}
  515. z|~ny
  516. yy{~||y}xmzyqtvnquoy
  517. }~xxz}z
  518. ypvnsvw
  519. moolrv
  520. zonqplnnszwwvxs{
  521. yvzut{y|
  522. zx}xt
  523. x|wx}x{z}
  524. ~|qoymnvv
  525. }rurztozxqlzxrtoow}
  526. |~}~v|
  527. wwt{xo~
  528. x|ontvvp{y}}owko
  529. xt}~|tx~
  530. ymtrz
  531. xymtwt}hdaj~g
  532. zljjljkrw~nsrm
  533. ymnlz~y}|
  534. xlrmv
  535. oktnqn
  536. ~xzqorm
  537. zwgi~l{
  538. zxzmolomov{xuv
  539. sl|upkhlq
  540. ykmgckixzv
  541. tmovouzv
  542. vw~|z
  543. wgvtm
  544. vnosnpry
  545. wrmiimkt
  546. ytqonswqz{
  547. wsoqpkuupxuo~
  548. }~uuyu
  549. {nrllmmqyz|{
  550. |nuv{v}
  551. ~zy|snwrz}v
  552. |z|r{ojvwy
  553. |oqosofhquu{tlijll}
  554. ~|zumq|
  555. ~w{tloz
  556. sqomw
  557. jgo\rvmz
  558. |poflqr
  559. pljgsom
  560. yvvlstwts
  561. |rfifsuz
  562. r|}qtjr|
  563. xvgpvn
  564. |zsgtot|x}}yutwt
  565. NXImage
  566. NXBitmapImageRep
  567. NXImageRep
  568. iissss00
  569. [576c]
  570. NibData
  571. @@@@s
  572. Storage
  573. {*@@}
  574.     [80{*@@}]
  575. File's Owner
  576. CustomObject
  577. Application
  578.     InfoPanel
  579. WindowTemplate
  580. iiii***@s@
  581. Panel
  582.     Responder
  583.     TextField
  584. Control
  585. TextFieldCell
  586. ActionCell
  587. mVersion 3.0 of 1/18/92. Share with your colleagues.  Use the source. Don't pretend that you wrote it, though.
  588.     Helvetica
  589. 2DLab
  590. Times-Bold$
  591. GComputational Geometry  and Combinatorial Optimization 
  592. in the Plane
  593. Button
  594. ButtonCell
  595. Patrick J. Flynn (flynn@eecs.wsu.edu)
  596. Mary Tork
  597. Roth (torkroth@cs.wisc.edu)
  598. Bill Roth (roth@cs.wisc.edu)
  599. Renato De Leone (deleone@cs.wisc.edu)
  600. VersionNumber
  601. Field1
  602. Field3
  603. Field
  604. MainMenu
  605. MenuTemplate
  606. *@*@ccc
  607. Matrix
  608. @:@iiii
  609. MenuCell
  610. Info Panel...
  611. Help...
  612. ff@@#::s
  613. submenuAction:
  614. Bitmap
  615.     menuArrow
  616. Document
  617. Open Data...
  618. Save Data...
  619. Save TIFF...
  620. Save EPS...
  621. Close
  622. Paste
  623. Select All
  624. Windows
  625. Arrange in Front
  626. Control Panel
  627.     Colors...
  628. Miniaturize Window
  629. Close Window
  630. Print...
  631. MenuItem
  632. Geometry Window
  633. Drawing Window
  634. Window
  635. CustomView
  636. TwoDView
  637.     HelpPanel
  638. ScrollView
  639. ClipView
  640. ciifffcfffs
  641. [8117c]{\rtf0\ansi{\fonttbl\f0\fswiss Helvetica;\f1\ftech Symbol;}
  642. \margl40
  643. \margr40
  644. {\colortbl\red0\green0\blue0;}
  645. \pard\tx520\tx1060\tx1600\tx2120\tx2660\tx3200\tx3720\tx4260\tx4800\tx5320\f0\b\i0\ul0\fs24\fc0 2DLab 3.0
  646. \b0  is a modified version of 2DLab 2.0. In it, we (Mary, Bill and Renato) have added several algoritims that attempt to find a solution to the Travelling Sales
  647. \i person  
  648. \i0 problem. We have also added a tour optimzer and changed the menus around. Version 3.0 is the result of a project for a graduate course in Mathematical Programming(CS720) in the Fall of 1991 at the University of Wisconsin-Madison. None of the functionality from version 2.0 has been changed. Below is the help text for version 2.0 amended in certain places for version 3.0.
  649. 2DLab
  650. \b0  animates a few algorithms from computational geometry and combinatorial optimization.  It was originally released in early 1990, back when I was a graduate student at Michigan State University.  In the process of updating the program for 2.0, things changed substantially, and many features were added.  I hope you like the program.\
  651. \b Running the program
  652. \b0 \
  653. Two windows will appear when 
  654. \b 2DLab
  655. \b0  is fired up.  The Geometry Window\
  656. contains the data and the results of any algorithms run on the\
  657. data.  The 
  658. \b 2DLab Control
  659. \b0  window allows you to configure the data\
  660. set, the algorithm, and the drawing that takes place.\
  661. When the program is invoked, the 
  662. \b Drawing Window
  663. \b0  will contain ten\
  664. points, and the selected algorithm (Prim's MST algorithm by default)\
  665. will be applied to these points.  New points can be created by\
  666. clicking in the window.  There is a `margin' around the border of\
  667. the window  within which points will not be displayed, so If you\
  668. click the mouse button and no point appears, you're probably too\
  669. close to the edge (this margin was put in to make the Voronoi\
  670. tesselation have a nice border.\
  671. A new set of random points (uniformly distributed within the window's\
  672. usable region) can be generated by entering the desired number of\
  673. points in the editable text field and pressing the 
  674. \b Generate
  675. \b0  button.\
  676. The highlighted button in the RadioButton array in the 
  677. \b Control\
  678. Window
  679. \b0  identifies the particular algorithm to be `animated.'\
  680. \b Anim/Disp
  681. \b0  button will run the appropriate animation when pressed.\
  682. \b Disp
  683. \b0  button will simply display the resulting data structure without\
  684. animating.  It only works when the data structure has already been previously\
  685. computed (i.e. ya gotta 
  686. \b Anim
  687. \b0  before you can 
  688. \b Disp
  689. \b0 ).\
  690. \b Auto-Go
  691. \b0  checkbox specifies the program's behavior when new\
  692. points are created with the mouse.  If the box is checked, the\
  693. selected algorithm is run immediately when a new point is added.\
  694. The three 
  695. \b color wells
  696. \b0  allow you to pick background, foreground,\
  697. and highlighting colors.  When the display is drawn, points and\
  698. line segments appear in the foreground color.  During animation,\
  699. transient drawing is done using the highlight color.  By default,\
  700. these colors are white, black, and  67% gray, respectively.  You\
  701. can set them to anything you want using the standard color well\
  702. tricks.\
  703. \b  line width slider
  704. \b0  controls how thickly everything is drawn (both\
  705. points and lines).\
  706. The `
  707. \b Status
  708. \b0 ' item displays informative (?) messages about the\
  709. progress of the algorithm currently being animated, the drawing\
  710. taking place, etc.\
  711. \b Document menu
  712. \b0  allows you to save the current data set in a\
  713. `generic' form, load a similarly-formatted file in for animation,\
  714. and save the generated imagery as TIFF or EPS.  The file format\
  715. for the data is simple.  The first number is the number of ordered\
  716. pairs (%d), and the remaining numbers are the pairs (%f %f).  The error\
  717. checking for I/O is pathetic, so please feed 
  718. \b 2DLab
  719. \b0  well-behaved data files.\
  720. The Copy item of the Edit menu may be selected.  It sticks the contents of\
  721. the Geometry window in the pasteboard.\
  722. \b Algorithms
  723. \b0 \
  724. In the following brief descriptions, N is the number of 2D points,\
  725. and the O-notation refers to time complexity rather than space\
  726. complexity.  When the algorithms are invoked, those with quick eyes\
  727. will notice some graphical razzle-dazzle as the data structure is\
  728. constructed.  After the algorithm has completed, the `resulting'\
  729. data structure will remain in the window.\
  730. - Prim's O(N^2) Minimal Spanning Tree (MST) algorithm.\
  731. - Kruskal's O(E log E) MST algorithm. WARNING: the implementation\
  732. in this program is NOT optimal (it's actually O(N^2)).  Anybody\
  733. who wants to hack together the priority queue stuff to implement\
  734. the optimal algorithm is free to do so (lazy, that's me).\
  735. - Jarvis' O(N log N) convex hull construction algorithm.\
  736. - Graham's O(N log N) convex hull construction algorithm.\
  737. - Somebody's O(N log N) Voronoi diagram algorithm.\
  738. - Somebody's O(N log N) Delaunay triangulation algorithm.  (code\
  739. for these last two algorithms was written by Seth Teller, who\
  740. apparently used Fortune's netlib code as a basis).\
  741. - my own Gabriel Graph construction algorithm (it uses the\
  742. Delaunay triangulation as a starting point).\
  743. - my own Relative Neighborhood Graph construction algorithm (again,\
  744. using the Delaunay triangulation as a starting point).\
  745. Those interested in the details of the algorithms should refer to\
  746. Preparata and Shamos' book on computational geometry.  Sedgewick's\
  747. book also has covers geometric algorithms.  The GG and RNG haven't\
  748. been used much, and are a little harder to find in the literature.\
  749. Consult Toussaint, `The relative neighborhood graph of a finite\
  750. point set', Pattern Recognition 12, 261-268 for info about the RNG.\
  751. The Gabriel graph was used in Matula and Sokal, `Properties of\
  752. Gabriel Graphs Relevant to Geographic Variation Research and the\
  753. Clustering of Points in the Plane', Geographical Analysis 12,\
  754. 205-222.   However, I don't have either of those papers in my\
  755. posession.  This software was based on the discussion in Tuceryan\
  756. and Chorzempa, `Relative Sensitivity of a family of closest-point\
  757. graphs in computer vision applications', Pattern Recognition 24,\
  758. 361-374.\
  759. \b Algorithms for 3.0
  760. \f1\b0 :\
  761. \f0 Stupid Neighbor: This is basically a test algorithm that connects point 0 to point 1, point 1 to point 2, and so on. It is useful for testing the tour optimizer, and seeing how bad an algorithm can be.(Bill Roth, 1991, previously unpublished)\
  762. Cheapest Insertion: This algorithm finds the point that can be added with the least cost to the over all solution. (Salkin & Mathur, Foundations Of Integer Programming, 1989 North-Holland, p 683.)\
  763. Nearest Neighbor: At a given point,  an arc will be drawn to the nearest unvisited point in the graph. (Lawler, Lenstra, et. al., The Traveling Salesman [sic] Problem, 1985, Wiley and Sons, p 150.)\
  764. Nearest Addition: Given a set of connected points, the point nearest to an existing arc will be added to the graph.( Lawler, Lenstra, et. al., The Traveling Salesman [sic] Problem,1985, Wiley and Sons, p 157.)\
  765. Farthest Insertion: This algorithm finds the point farthest away from all of the points in the tour, and finds the best place to insert it. (Lawler, Lenstra, et. al., The Traveling Salesman [sic] Problem,1985, Wiley and Sons, p 226.)\
  766. The tour optimization procedure comes from Salkin & Mathur, Foundations Of Integer Programming, 1989 North-Holland, p 690-93.\
  767. \b About the authors.\
  768. \b0 This program was written by:\
  769. Patrick Flynn\
  770. Assistant Professor\
  771. School of Electrical Engineering and Computer Science\
  772. Washingon State University\
  773. Pullman, WA 99164-2752\
  774. (flynn@eecs.wsu.edu)\
  775. For Version 3.0:\
  776. Mary Tork Roth "the Brains" (torkroth@cs.wisc.edu)\
  777. Bill Roth        "the Brawn" (roth@cs.wisc.edu)\
  778. Dr. Renato De Leone  "The Professor" (deleone@cs.wisc.edu)\
  779. Computer Science Department\
  780. University Of Wisconsin\
  781. 1210 West Dayton Street\
  782. Madison, WI 53706\
  783. If you find bugs, let us know.\
  784. If you add functionality, let us know.\
  785. If you like/hate it and just want to tell us, let us know.\
  786. Date: 1/92.\
  787. NXCursor
  788. NXibeam
  789. Scroller
  790. _doScroller:
  791. @@@ffs`
  792. About 2DLab 3.0
  793. ScrollingTextTN
  794. Field2bN
  795. 2DLab Control
  796. [12@]
  797. Algorithm to Animate
  798. [13@]
  799. Prim's MST
  800. radio
  801. radioH
  802. Kruskal's MSTy
  803. Jarvis' Convex Hully
  804. Graham's Convex Hully
  805. Voronoi Diagramy
  806. Delaunay Triangulationy
  807. Gabriel Graphy
  808. Relative Neighborhood Graphy
  809. Stupid Neighbor TSPy
  810. Cheapest Insertion TSPy
  811. Nearest Neighbor TSPy
  812. Nearest Addition TSPy
  813. Farthest Insertion TSPy
  814. Radioy
  815. FormCell
  816.     # Points:
  817. Field:
  818. Generate
  819. Status
  820. Slider
  821. SliderCell
  822. Line width: 4.0y
  823. Backgroundy
  824.     Highlighty
  825. NXColorWell
  826. Foregroundy
  827. Colors
  828. Optimize Tour
  829. Animation & Display
  830.     Anim/Disp
  831. Helvetica-Bold
  832. Auto-Go
  833. switch
  834. switchH
  835. Title
  836. Optimal value:
  837. Drawing Pause(usec.)
  838. Field4
  839. # Points
  840. NXColorWell1
  841.     ColorWell
  842. Slider2
  843. Optimal value
  844. Form1
  845. {i*@@@}
  846. [40{i*@@@}]
  847. hide:&
  848. terminate:(
  849. paste:
  850. selectAll:
  851. makeKeyAndOrderFront:
  852. printPSCode:$I
  853.     openData:
  854.     saveData:
  855. close:
  856. copy:
  857. lineWidthTextI
  858. lineWidthSliderI
  859. bgColorWellI
  860. fgColorWellI
  861. highColorWellI
  862. numPointsFormI
  863. setOperation:uI
  864. lineWidthChanged:
  865. random:
  866. setAutoUpdate:
  867. performMiniaturize:
  868. performClose:!
  869. arrangeInFront:
  870. orderFrontColorPanel:
  871.     saveTIFF:
  872. saveEPS:
  873. animThenDisp:
  874. disp:
  875. optimalValueFieldI
  876. optimalValueFormCellI
  877. statusTextI
  878.     timeFieldI
  879. timeSliderI
  880. timeValue:
  881. delegate
  882. optimizeButtonI
  883. doOptimize:
  884.